/*
 * @Author: your name
 * @Date: 2021-02-16 13:40:00
 * @LastEditTime: 2021-02-16 19:58:26
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: \demo_2021021601\include\common\my_string.h
 */
/*************/

#ifndef __MY_STRING_H__
#define __MY_STRING_H__
#include "ctype.h"

extern char *___my_strtok;
extern char *my_strpbrk(const char *, const char *);
extern char *my_strtok(char *, const char *);
extern char *my_strsep(char **, const char *);
extern size_t my_strspn(const char *, const char *);

#ifndef __HAVE_ARCH_MY_STRCPY
extern char *my_strcpy(char *, const char *);
#endif
#ifndef __HAVE_ARCH_MY_STRNCPY
extern char *my_strncpy(char *, const char *, size_t);
#endif
#ifndef __HAVE_ARCH_MY_STRCAT
extern char *my_strcat(char *, const char *);
#endif
#ifndef __HAVE_ARCH_MY_STRNCAT
extern char *my_strncat(char *, const char *, size_t);
#endif
#ifndef __HAVE_ARCH_MY_STRCMP
extern int my_strcmp(const char *, const char *);
#endif
#ifndef __HAVE_ARCH_MY_STRNCMP
extern int my_strncmp(const char *, const char *, size_t);
#endif
#ifndef __HAVE_ARCH_MY_STRNICMP
extern int my_strnicmp(const char *, const char *, size_t);
#endif
#ifndef __HAVE_ARCH_MY_STRCHR
extern char *my_strchr(const char *, int);
#endif
#ifndef __HAVE_ARCH_MY_STRRCHR
extern char *my_strrchr(const char *, int);
#endif
#ifndef __HAVE_ARCH_MY_STRSTR
extern char *my_strstr(const char *, const char *);
#endif
#ifndef __HAVE_ARCH_MY_STRLEN
extern size_t my_strlen(const char *);
#endif
#ifndef __HAVE_ARCH_MY_STRNLEN
extern size_t my_strnlen(const char *, size_t);
#endif

#ifndef __HAVE_ARCH_MY_MEMSET
extern void *my_memset(void *, int, size_t);
#endif
#ifndef __HAVE_ARCH_MEMCPY
extern void *my_memcpy(void *, const void *, size_t);
#endif
#ifndef __HAVE_ARCH_MY_MEMMOVE
extern void *my_memmove(void *, const void *, size_t);
#endif
#ifndef __HAVE_ARCH_MY_MEMSCAN
extern void *my_memscan(void *, int, size_t);
#endif
#ifndef __HAVE_ARCH_MY_MEMCMP
extern int my_memcmp(const void *, const void *, size_t);
#endif
#ifndef __HAVE_ARCH_MY_MEMCHR
extern void *my_memchr(const void *, int, size_t);
#endif

#endif